# JS 入门

# JS 与 Java、C# 区别

对象、原型、函数和闭包的紧密结合组成了JavaScript

  • 基于原型的面向对象——不同于其他主流的面向对象语言(例如C#、Java、Ruby)使用基于类的面向对象,JavaScript使用基于原型的面向对象。

  • 函数是一等公民(一级对象)。在JavaScript中,函数与其他对象共存,并且能够像任何其他对象一样地使用。

    • 函数可以通过字面量创建

    • 可以赋值给变量

    • 可以作为函数参数进行传递

    • 甚至可以作为返回值从函数中返回

  • 函数闭包。当函数主动维护了在函数内使用的外部的变量,则该函数为一个闭包

  • 作用域依赖函数级别的变量和全局变量(ES6前)